import { AbstractDragConfig } from "./abstract-drag-config";
import { TransformNode } from "@babylonjs/core/Meshes/transformNode";


/**
 * 常用拖动配置（大部分情况下都适用）
 */
class DragCommonConfig extends AbstractDragConfig<TransformNode> {

    /**
     * 获取配置类型标识
     */
    public get configType(): string {
        return 'FacetMeshConfig';
    }

    /**
     * 测试目标对象是否符合当前配置
     * @param target 
     * @returns 
     */
    public test(target: TransformNode): boolean {
        return target instanceof TransformNode;
    }

    public compare(a: TransformNode, b: TransformNode): boolean {
        return a.id === b.id;
    }

    public target(originalTarget: TransformNode): TransformNode {
        return originalTarget;
    }

}

export { DragCommonConfig };